package com.fize.pattern.n03singleton;

/**
 * 懒汉模式，可以带参数
 */
public class LazyMan {

    /**
     * 类内部使用的变量
     */
    private final String name;

    /**
     * 单例使用的对象
     */
    private static LazyMan instance = null;

    /**
     * 构造禁止实例化
     *
     * @param name 姓名
     */
    private LazyMan(String name) {
        this.name = name;
    }

    /**
     * 对外暴露的单例实例
     *
     * @param name 姓名
     * @return LazyMan
     */
    public static LazyMan getInstance(String name) {
        if (instance == null) {
            instance = new LazyMan(name);
        }
        return instance;
    }

    /**
     * 单例下的方法
     */
    public void doSomeThing() {
        System.out.println(this.name + "，你在弄啥呢。");
    }
}
